3.13 极值统计
Excel中的极大值是large()函数,极小值是small()函数,是统计是统一第几个最大值,最小值。而pandas中对应的是nlargest()和nsmallest()函数,是统计前几个最大,最小值。
极值 函数及参考
极大值 n.nlargest(n,keep=”first”)
n.nlsmallest(n,keep=”first”)
下面解释一下对应的几个参数含义
n 指定极值的个数
keep 参数分别有first,last,all三个值,
import pandas as pd
s=pd.Series([ 45,65,65,98,76,50 ]) #如果第二大有两个,则不会返回四个,如果第三大有两个,则会返回四个
print (s.nlargest( 3 ))
print (s.nlargest( 3 , keep = "first" ))
print (s.nlargest( 3, keep = "all" ))
print (s.nsmallest( 3 ))
返回:
3 | 98 |
4 | 76 |
1 | 65 |
dtype: int64
3 | 98 |
4 | 76 |
1 | 65 |
dtype: int64
3 | 98 |
4 | 76 |
1 | 65 |
2 | 65 |
dtype: int64
0 | 45 |
5 | 50 |
1 | 65 |
dtype: int64
import pandas as pd
df=pd.read_excel(r "D:\Pyobject2023\object\测试\素材\测试素材.考试成绩.逻辑统计.xlsx" )
t1=df.nlargest( 3 ,[ "数学","语文" ])
df[ "总分" ]=df.iloc[:, 1 :].sum( axis = 1 )
t2=df.nlargest( 3 ,[ "总分" ])
print (df)
print (t1)
print (t2)
返回:
姓名 | 数学 | 语文 | 英语 | 总分 | |
---|---|---|---|---|---|
0 | 小明 | 85.5 | 99 | 84 | 268.5 |
1 | 小张 | 96.0 | 100 | 34 | 230.0 |
2 | 小王 | 93.0 | 55 | 76 | 224.0 |
3 | 小李 | 88.5 | 95 | 99 | 282.5 |
4 | 小四 | 90.0 | 99 | 73 | 262.0 |
5 | 小管 | 100.0 | 66 | 65 | 231.0 |
姓名 | 数学 | 语文 | 英语 | |
---|---|---|---|---|
5 | 小管 | 100.0 | 66 | 65 |
1 | 小张 | 96.0 | 100 | 34 |
2 | 小王 | 93.0 | 55 | 76 |
姓名 | 数学 | 语文 | 英语 | 总分 | |
---|---|---|---|---|---|
3 | 小李 | 88.5 | 95 | 99 | 282.5 |
0 | 小明 | 85.5 | 99 | 84 | 268.5 |
4 | 小四 | 90.0 | 99 | 73 | 262.0 |